// 测试提交
/*
  由于是一个实际的项目 代码很多  js模块化非常严重 =》 文件特别多 =》 全都在main.js中需要导入
*/

import Vue from 'vue'

import 'normalize.css/normalize.css' // css重置的现代化解决方案

// 组件库的全部导入（后台系统-不管用户体验  大项目-组件库中的组件用的7788）
import ElementUI from 'element-ui' // 导入ele整个组件库
import 'element-ui/lib/theme-chalk/index.css' // 导入组件库的样式
// 导入了英文语言包
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 导入了一个样式文件
import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon 引入了图标（？？）
import '@/permission' // 路由守卫

/**
 * If you don't want to use mock-server
 * you want to use MockJs for mock api
 * you can execute: mockXHR()
 *
 * Currently MockJs will be used in the production environment,
 * please remove it before going online ! ! !
 */
// 判断当前环境 开发、生产
// if (process.env.NODE_ENV === 'production') {
//   // 只要当前是生产环境（代码上线）
//   const { mockXHR } = require('../mock') // mock 模拟后端接口（实际开发中，后端接口完全有可能还没好 ）
//   mockXHR()
// }

// set ElementUI lang to EN 注册整个组件库且设置语言为英文
// Vue.use(ElementUI, { locale: locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI) // 注册整个组件库 语言默认是中文

Vue.config.productionTip = false // 关闭提示代码

// computed
Vue.directive('control', {
  inserted(el, { value }) {
    // 指令所在的元素插入到页面中执行
    // console.log('我进入到页面了', el, value)
    if (!store.state.user.userInfo.roles?.points?.includes(value)) {
      // el.style.display = 'none'
      el.remove() // 让当前元素自杀(从页面中移除该节点)
    }
  }
})

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
